package com.portal.incurridos.persistence.dao;

import com.portal.incurridos.persistence.enumeration.StateTransactionEnum;
import com.portal.incurridos.persistence.wall.Card;

/**
 * @author Alan Dávila
 * e-mail ustargab@gmail.com
 * date 20/11/2013 00:04:14
 */
public interface CardDao {

	/**
	 * Get the card information.
	 * @param card Identifier of card.
	 * @return Object with the information required.
	 */
	Card get(final Long card);
	/**
	 * Create a new Card.
	 * @param card Object with the information about the new card.
	 * @return New card created.
	 */
	Card create(final Card card);
	/**
	 * Delete or set unavailable a card.
	 * @param card Object to delete.
	 * @return State of the operation.
	 */
	StateTransactionEnum delete(final Card card);
	/**
	 * Update a record existing into the data base.
	 * @param card Object to update.
	 * @return State of the operation.
	 */
	StateTransactionEnum update(final Card card);
}
